package net.qhzw.vip.qiyu.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;
import net.qhzw.vip.qiyu.entity.GuaranteeSite;
import net.qhzw.vip.qiyu.model.*;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface GuaranteeSiteService extends IService<GuaranteeSite> {

    Page<GuaranteeSite> findByPage(Page<GuaranteeSite> page, Long shopId, String name, Byte status);

    /**
     * 根据id查询名称
     *
     * @param siteId
     * @return
     */
    String findNameById(Long siteId);

    /***
     * 根据担保公司id获取站点id
     * @param companyId
     * @return
     */
    List<Long> getSiteIds(Long companyId);


    /***
     * 获取担保站点
     * @param idCard
     * @return
     */
    GuaranteeSite getGuaranteeSiteByUserId(String idCard);

    /***
     * 查询担保站点风险预警
     * @param query
     * @return
     */
    List<SysWarningVo> getWarning(WarningQuery query);


    int getWarningCount(WarningQuery query);

    /***
     * 根据担保公司查询站点
     * @param companyId
     * @return
     */
    List<GuaranteeSite> getByCompanyId(Long companyId);


    /***
     * 根据身份证号查询担保公司 站点
     * @param idCards
     * @return
     */
    List<GuaranteeSiteUser> findByIdCards(List<String> idCards);

    /***
     * 根据userId查询站点ID
     * @param userId
     * @return
     */
    List<Long> getSiteIdByUserId(Long userId);


    /***
     * 查询骑遇站点风险预警
     * @param amount
     * @return
     */
    int riskWarningQYCount(BigDecimal amount,  Long shopId);

    /***
     * 根据担保人员查询担保公司站点
     * @param id
     * @return
     */
    GuaranteeSiteUser getName(Long id);

    /***
     * 根据担保人员查询租车站点ID
     * @param id
     * @return
     */
    Long findSiteMobile(Long id);

    /**
     * 查询各站点换车退车租车量 年
     */
    List<BigDataInfo> getCarStatistics(String id);
    /**
     * 查询各站点换车退车租车量  近30天
     */
    //List<BigDataInfo> getCarStatisticsByMothon();

    /**
     * 查询各站点租车 换车 退车营业额
     */
    List<BigDataInfo> getTheSiteTurnover();
    /**
     * 商城经销商前15销售额排名图
     * @return
     */
    List<BigDataInfo> getMallshoping();
    List<BigDataInfo> getMallshopingTotal();
    /**
     * 收入指标统计
     * @return
     */
    String getIncmIdxStatistics();

    BigDecimal getIncmIdxStat();

    /**
     * 骑遇小遇 租车业务 商城业务 维修业务综合统计
     * @param
     * @return
     */
    Map<String, Integer> getComprehensiveStatistics();

    /**
     * 维修救援 维修师傅指标统计
     * @return
     */
    List<BigDataInfo> getMaintIdxStatistics();

    /**
     * 商户租车业务指标统计
     * @return
     */
    List<BigDataInfo> getBusCarRentalBusStatistics();

    /**
     * 担保公司维度统计
     * @return
     */
    List<BigDataInfo> getGuarCoDimensionStatistics();
    String getMallTotalMoney();
    String getInRentTheUser();
    List<BigDataInfo> getNowunder();

    List<BigDataInfo> getBarCount();

    BigDataInfoFaskModel getallFask();

    boolean updateIsFaker(String isFaker);
}
